/*
 * Created by JFormDesigner on Sun Dec 26 15:36:39 CST 2021
 */

package view;

import javax.swing.table.*;
import dao.AdminDao;
import dao.BookDao;
import dao.UserDao;
import model.Admin;
import model.Book;
import model.User;
import util.DBConnection;

import java.awt.*;
import java.awt.event.*;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Objects;
import java.util.SplittableRandom;
import java.util.Vector;
import java.util.regex.Pattern;
import javax.swing.*;

/**
 * @author unknown
 */
public class GUI extends JFrame {

    private Connection connection;
    private User user = null;
    private Admin admin = null;
    private Book book = null;

    public GUI() throws Exception {
        initComponents();
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        connection = DBConnection.getConnection();
    }

    public void close() throws Exception {
        DBConnection.closeConnection(connection);
    }

    private void button1MouseClicked(MouseEvent e) {
        CardLayout cardLayout = (CardLayout)(panel1.getLayout());
        cardLayout.show(panel1,"card2");
    }

    private void button2MouseClicked(MouseEvent e) {
        CardLayout cardLayout = (CardLayout)(panel1.getLayout());
        cardLayout.show(panel1,"card4");
    }

    private void button3MouseClicked(MouseEvent e) {
        CardLayout cardLayout = (CardLayout)(panel1.getLayout());
        cardLayout.show(panel1,"card3");
    }

    private void button4(ActionEvent e) {
        System.exit(0);
    }

    private void button41MouseClicked(MouseEvent e) {
        textField1.setText("");
        passwordField1.setText("");
        label8.setText("");
        CardLayout cardLayout = (CardLayout)(panel1.getLayout());
        cardLayout.show(panel1,"card1");
    }

    private void button40(ActionEvent e) {
        textField3.setText("");
        passwordField2.setText("");
        label8.setText("");
        CardLayout cardLayout = (CardLayout)(panel1.getLayout());
        cardLayout.show(panel1,"card1");
    }

    private void button39MouseClicked(MouseEvent e) {
        label27.setText("");
        textField2.setText("");
        textField4.setText("");
        passwordField3.setText("");
        CardLayout cardLayout = (CardLayout)(panel1.getLayout());
        cardLayout.show(panel1,"card1");
    }

    private void button27MouseClicked(MouseEvent e) {
        User user = new User();
        user.setUsername(textField1.getText());
        user.setPassword(String.valueOf(passwordField1.getPassword()));
        try {
            user = UserDao.login(connection, user);
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        if (user != null) {
            this.user = user;
            CardLayout cardLayout = (CardLayout)(panel1.getLayout());
            cardLayout.show(panel1,"card5");
            textField1.setText("");
            passwordField1.setText("");
            label8.setText("");
        } else {
            label8.setText("用户名或密码错误");
        }
    }

    private void button12MouseClicked(MouseEvent e) {
        this.user = null;
        CardLayout cardLayout = (CardLayout)(panel1.getLayout());
        cardLayout.show(panel1,"card1");
    }

    private void textField1KeyPressed(KeyEvent e) {
        label8.setText("");
    }

    private void button28MouseClicked(MouseEvent e) {
        Admin admin = new Admin();
        admin.setAccount(textField3.getText());
        admin.setPassword(String.valueOf(passwordField2.getPassword()));
        try {
            admin = AdminDao.login(connection, admin);
            if ((admin != null)) {
                this.admin = admin;
                textField3.setText("");
                passwordField2.setText("");
                label8.setText("");
                CardLayout cardLayout = (CardLayout)(panel1.getLayout());
                cardLayout.show(panel1,"card6");
            } else {
                label9.setText("用户名或密码错误");
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    private void passwordField2KeyPressed(KeyEvent e) {
        label9.setText("");
    }

    private void button8MouseClicked(MouseEvent e) {
        this.admin = null;
        CardLayout cardLayout = (CardLayout)(panel1.getLayout());
        cardLayout.show(panel1,"card1");
    }

    private void passwordField1KeyPressed(KeyEvent e) {
        label8.setText("");
    }

    private void textField3KeyPressed(KeyEvent e) {
        label9.setText("");
    }

    private void button29MouseClicked(MouseEvent e) {
        User user = new User();
        user.setUsername(textField2.getText());
        user.setPassword(String.valueOf(passwordField3.getPassword()));
        user.setEmail(textField4.getText());
        user.setPassword(String.valueOf(passwordField3.getPassword()));
        try {
            int status = UserDao.register(connection, user);
            if (status == 2) {
                label27.setText("请输入用户名");
            } else if (status == 3) {
                label27.setText("请输入密码");
            } else if (status == 1) {
                label27.setText("用户名重复");
            } else if (status == 0) {
                CardLayout cardLayout = (CardLayout)(panel1.getLayout());
                cardLayout.show(panel1,"card2");
                label8.setText("注册成功 请登录");
                label27.setText("");
                textField2.setText("");
                textField4.setText("");
                passwordField3.setText("");
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }

    }

    private void textField2KeyPressed(KeyEvent e) {
        label27.setText("");
    }

    private void textField4KeyPressed(KeyEvent e) {
        label27.setText("");
    }

    private void passwordField3KeyPressed(KeyEvent e) {
        label27.setText("");
    }

    private void button9MouseClicked(MouseEvent e) {
        JTableHeader tab_header = table2.getTableHeader();
        tab_header.setFont(new Font("\u6977\u4f53", Font.BOLD, 18));
        CardLayout cardLayout = (CardLayout)(panel1.getLayout());
        cardLayout.show(panel1,"card7");
    }

    private void button30MouseClicked(MouseEvent e) {
        String bookName = textField5.getText();
        try {
            int x = 17;
            while (x > 0) {
                table2.getModel().setValueAt(null, x, 0);
                table2.getModel().setValueAt(null, x, 1);
                table2.getModel().setValueAt(null, x, 2);
                table2.getModel().setValueAt(null, x, 3);
                table2.getModel().setValueAt(null, x, 4);
                table2.getModel().setValueAt(null, x, 5);
                x--;
            }
            ResultSet resultSet = BookDao.listByName(connection, bookName);
            int cnt = 0;
            while (resultSet.next()) {
                int bookId = resultSet.getInt("bookid");
                String name = resultSet.getString("name");
                String author = resultSet.getString("author");
                String isbn = resultSet.getString("isbn");
                String status = null;
                int statusNumber = resultSet.getInt("status");
                if (statusNumber == 1) {
                    status = "在馆";
                } else if (statusNumber ==0) {
                    status = "借出";
                }
                String position = resultSet.getString("position");
                table2.getModel().setValueAt(bookId, cnt, 0);
                table2.getModel().setValueAt(name, cnt, 1);
                table2.getModel().setValueAt(author, cnt, 2);
                table2.getModel().setValueAt(isbn, cnt, 3);
                table2.getModel().setValueAt(status, cnt, 4);
                table2.getModel().setValueAt(position, cnt, 5);
                cnt++;
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }

    }

    private void button38MouseClicked(MouseEvent e) {
        CardLayout cardLayout = (CardLayout)(panel1.getLayout());
        cardLayout.show(panel1,"card5");
        textField5.setText("");
        int x = 17;
        while (x >= 0) {
            table2.getModel().setValueAt(null, x, 0);
            table2.getModel().setValueAt(null, x, 1);
            table2.getModel().setValueAt(null, x, 2);
            table2.getModel().setValueAt(null, x, 3);
            table2.getModel().setValueAt(null, x, 4);
            table2.getModel().setValueAt(null, x, 5);
            x--;
        }
    }

    private void button37MouseClicked(MouseEvent e) {
        label25.setText("");
        textField6.setText("");
        CardLayout cardLayout = (CardLayout)(panel1.getLayout());
        cardLayout.show(panel1,"card5");
    }

    private void button10MouseClicked(MouseEvent e) {
        CardLayout cardLayout = (CardLayout)(panel1.getLayout());
        cardLayout.show(panel1,"card8");
    }



    private void button31KeyPressed(KeyEvent e) {
        // TODO add your code here
    }

    private void textField6MouseClicked(MouseEvent e) {
        textField6.setText("");
        label25.setText("");
    }

    private void button31MouseClicked(MouseEvent e) {
        label25.setText("");
        int id;
        if (!Objects.equals(textField6.getText(), "")) {
            id = Integer.parseInt(textField6.getText());
            try {
                String note = UserDao.borrowRecord(connection,this.user,id);
                label25.setText(note);
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }else {
            label25.setText("请输入图书编号！");
        }
    }

    private void passwordField8KeyPressed(KeyEvent e) {
        label26.setText("");
    }

    private void button35MouseClicked(MouseEvent e) {
        label26.setText("");
        textField7.setText("");
        CardLayout cardLayout = (CardLayout)(panel1.getLayout());
        cardLayout.show(panel1,"card5");
    }

    private void button11MouseClicked(MouseEvent e) {
        CardLayout cardLayout = (CardLayout)(panel1.getLayout());
        cardLayout.show(panel1,"card10");
    }

    private void button33MouseClicked(MouseEvent e) {
        if (!Objects.equals(textField7.getText(), "")) {
            int bookid = Integer.parseInt(textField7.getText());
            try {
                String position = Objects.requireNonNull(comboBox1.getSelectedItem()).toString();
                String status = UserDao.returnBook(connection, user, bookid, position);
                label26.setText(status);
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }

    }

    private void textField7KeyPressed(KeyEvent e) {
        label26.setText("");
    }

    private void button36MouseClicked(MouseEvent e) {
        textField8.setText("");
        passwordField7.setText("");
        label29.setText("");
        CardLayout cardLayout = (CardLayout)(panel1.getLayout());
        cardLayout.show(panel1,"card6");
    }


    private void textField8KeyPressed(KeyEvent e) {
        passwordField7.setText("");
        label29.setText("");
    }

    private void button32MouseClicked(MouseEvent e) {
        String newPassword = String.valueOf(passwordField7.getPassword());
        String oldPassword = textField8.getText();
        if (Objects.equals(oldPassword, "")) {
            label29.setText("请输入原密码");
        } else if (newPassword.equals("")) {
            label29.setText("请输入新密码");
        } else if (!Objects.equals(oldPassword, this.admin.getPassword())) {
            label29.setText("原密码错误");
        } else if (newPassword.equals(this.admin.getPassword())) {
            label29.setText("新密码不能与原密码相同");
        } else {
            try {
                this.admin = AdminDao.reSetPassword(connection, this.admin, newPassword);
                textField8.setText("");
                passwordField7.setText("");
                label29.setText("");
                CardLayout cardLayout = (CardLayout)(panel1.getLayout());
                cardLayout.show(panel1,"card3");
                label9.setText("修改成功，请重新登录");
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
    }

    private void button7MouseClicked(MouseEvent e) {
        CardLayout cardLayout = (CardLayout)(panel1.getLayout());
        cardLayout.show(panel1,"card9");
    }

    private void button6KeyPressed(KeyEvent e) {
        CardLayout cardLayout = (CardLayout)(panel1.getLayout());
        cardLayout.show(panel1,"card12");
    }

    private void button5MouseClicked(MouseEvent e) {
        this.reLoadC();
        CardLayout cardLayout = (CardLayout)(panel1.getLayout());
        cardLayout.show(panel1,"card12");
    }

    private void button6MouseClicked(MouseEvent e) {
        CardLayout cardLayout = (CardLayout)(panel1.getLayout());
        cardLayout.show(panel1,"card11");
    }

    private void button43MouseClicked(MouseEvent e) {
        n1.setText("");
        n2.setText("");
        n3.setText("");
        n4.setText("");
        n5.setText("");
        l1.setText("");
        CardLayout cardLayout = (CardLayout)(panel1.getLayout());
        cardLayout.show(panel1,"card6");
    }

    private void b1MouseClicked(MouseEvent e) {
        User user = new User();
        user.setUsername(n1.getText());
        user.setPassword(n2.getText());
        user.setEmail(n3.getText());
        try {
            int ret = UserDao.register(connection, user);
            if (ret == 1) {
                l1.setText("此用户名已存在");
                n1.setText("");
            } else if (ret == 2) {
                l1.setText("用户名不能为空");
                n1.setText("");
                n2.setText("");
                n3.setText("");
            } else if (ret == 3) {
                l1.setText("密码不能为空");
            }
            if (ret == 0) {
                l1.setText("新增用户'"+ user.getUsername() + "'成功");
                n1.setText("");
                n2.setText("");
                n3.setText("");
            }
            this.reLoadC();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    private void b2MouseClicked(MouseEvent e) {
        User user = new User();
        user.setUsername(c1.getModel().getSelectedItem().toString());
        user.setPassword(n4.getText());
        user.setEmail(n5.getText());
        try {
            int ret = UserDao.updateInformation(connection, user);
            if (ret == 1) {
                l1.setText("密码不能为空");
            } else {
                l1.setText("修改成功");
                n4.setText("");
                n5.setText("");
                this.reLoadC();
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    public void reLoadC() {
        try {
            c1.removeAllItems();
            c2.removeAllItems();
            ResultSet resultSet = UserDao.getAll(connection);
            while (resultSet.next()) {
                String temp = resultSet.getString("username");
                c1.addItem(temp);
                c2.addItem(temp);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private void b3MouseClicked(MouseEvent e) {

        try {
            int ret = UserDao.deleteByUsername(connection, c2.getModel().getSelectedItem().toString());
            l1.setText("删除成功");
            this.reLoadC();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    private void n1MouseClicked(MouseEvent e) {
        l1.setText("");
    }

    private void n2MouseClicked(MouseEvent e) {
        l1.setText("");
    }

    private void n3MouseClicked(MouseEvent e) {
        l1.setText("");
    }

    private void n4MouseClicked(MouseEvent e) {
        l1.setText("");
    }

    private void n5MouseClicked(MouseEvent e) {
        l1.setText("");
    }

    private void c2MouseClicked(MouseEvent e) {
        l1.setText("");
    }

    private void c1MouseClicked(MouseEvent e) {
        l1.setText("");
    }

    private void button42MouseClicked(MouseEvent e) {
        this.refreshPage();
        text1.setText("");
        CardLayout cardLayout = (CardLayout)(panel1.getLayout());
        cardLayout.show(panel1,"card6");
    }

    private void but1MouseClicked(MouseEvent e) {
        String bookname = text1.getText();
        try {
            this.refreshPage();
            ResultSet resultSet = BookDao.listByName(connection, bookname);
            int i = 0;
            while (resultSet.next()) {
                i++;
                c3.addItem(String.valueOf(resultSet.getInt("bookid")));
            }
            if (i != 0) {
                c3.setSelectedIndex(0);
                l2.setText("找到" + i + "本图书");
            } else {
                l2.setText("查无此书");
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    public void refreshPage() {
        c4.setSelectedIndex(0);
        text2.setText("");
        text3.setText("");
        text4.setText("");
        text5.setText("");
        a.setText("");
        c3.removeAllItems();
    }

    private void c3ItemStateChanged(ItemEvent e) {
        if (c3.getModel().getSelectedItem()!= null && GUI.isInteger(c3.getModel().getSelectedItem().toString()) && !Objects.equals(c3.getModel().getSelectedItem().toString(), "")) {
            int bookid = Integer.parseInt(c3.getModel().getSelectedItem().toString());
            try {
                ResultSet resultSet = BookDao.selectByBookid(connection, bookid);
                if (resultSet.next()) {
                    text2.setText(resultSet.getString("name"));
                    text3.setText(resultSet.getString("author"));
                    text4.setText(resultSet.getString("isbn"));
                    a.setText(resultSet.getString("description"));
                    if (resultSet.getString("position") == null) {
                        c4.setSelectedItem("null");
                    } else {
                        c4.setSelectedItem(resultSet.getString("position"));
                    }
                    if (resultSet.getInt("status") == 0) {
                        text5.setText("借出");
                    } else {
                        text5.setText("在馆");
                    }
                } else {

                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
    }

    public static boolean isInteger(String str) {
        Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");
        return pattern.matcher(str).matches();
    }

    private void text1MouseClicked(MouseEvent e) {
        l2.setText("");
    }

    private void but4MouseClicked(MouseEvent e) {
        if (c3.getModel().getSelectedItem() != "new") {
            this.refreshPage();
            c3.addItem("new");
            l2.setText("请输入内容后再次点击 添加新书 按钮");
        } else {
            Book book = new Book();
            book.setName(text2.getText());
            book.setIsbn(text4.getText());
            book.setAuthor(text3.getText());
            book.setDescription(a.getText());
            book.setStatus(1);
            book.setPosition(c4.getModel().getSelectedItem().toString());
            try {
                int ret = BookDao.insertBook(connection,book);
                if (ret == 0) {
                    l2.setText("添加图书《" + book.getName() + "》成功");
                    this.refreshPage();
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
    }

    private void but3MouseClicked(MouseEvent e) {
        int bookid = Integer.parseInt(c3.getModel().getSelectedItem().toString());
        try {
            int ret = BookDao.deleteById(connection,bookid);
            if (ret == 0) {
                l2.setText("删除成功");
                c3.removeItem(c3.getModel().getSelectedItem());
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    private void c3MouseClicked(MouseEvent e) {
        l2.setText("");
    }

    private void text5MouseClicked(MouseEvent e) {
        l2.setText("");
    }

    private void text2MouseClicked(MouseEvent e) {
        l2.setText("");
    }

    private void text3MouseClicked(MouseEvent e) {
        l2.setText("");
    }

    private void text4MouseClicked(MouseEvent e) {
        l2.setText("");
    }

    private void c4MouseClicked(MouseEvent e) {
        l2.setText("");
    }

    private void aMouseClicked(MouseEvent e) {
        l2.setText("");
    }

    private void but2MouseClicked(MouseEvent e) {
        if ((Objects.equals(text5.getText(), "借出") && !Objects.equals(c4.getModel().getSelectedItem().toString(), "null"))
        || (Objects.equals(text5.getText(), "在馆") && Objects.equals(c4.getModel().getSelectedItem().toString(), "null"))) {
            l2.setText("图书状态与图书位置不匹配");
        } else {
            Book book = new Book();
            book.setBookId(Integer.parseInt(c3.getModel().getSelectedItem().toString()));
            book.setName(text2.getText());
            book.setIsbn(text4.getText());
            book.setAuthor(text3.getText());
            book.setDescription(a.getText());
            if (Objects.equals(text5.getText(), "在馆")) {
                book.setStatus(1);
                book.setPosition(c4.getModel().getSelectedItem().toString());
            } else if (Objects.equals(text5.getText(), "借出")) {
                book.setStatus(0);
                book.setPosition(null);
            }
            try {
                int ret = BookDao.updateBook(connection,book);
                if (ret == 0) {
                    l2.setText("更新成功");
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }

    }

    private void initComponents() {
        // JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents
        panel1 = new JPanel();
        panel2 = new JPanel();
        label1 = new JLabel();
        button1 = new JButton();
        button2 = new JButton();
        button3 = new JButton();
        button4 = new JButton();
        panel3 = new JPanel();
        label2 = new JLabel();
        textField1 = new JTextField();
        label3 = new JLabel();
        label4 = new JLabel();
        passwordField1 = new JPasswordField();
        label8 = new JLabel();
        button27 = new JButton();
        button41 = new JButton();
        panel4 = new JPanel();
        label5 = new JLabel();
        textField3 = new JTextField();
        label6 = new JLabel();
        label7 = new JLabel();
        passwordField2 = new JPasswordField();
        label9 = new JLabel();
        button28 = new JButton();
        button40 = new JButton();
        panel5 = new JPanel();
        label10 = new JLabel();
        textField2 = new JTextField();
        label11 = new JLabel();
        label12 = new JLabel();
        passwordField3 = new JPasswordField();
        label13 = new JLabel();
        button29 = new JButton();
        button39 = new JButton();
        textField4 = new JTextField();
        label27 = new JLabel();
        panel6 = new JPanel();
        label14 = new JLabel();
        button9 = new JButton();
        button10 = new JButton();
        button11 = new JButton();
        button12 = new JButton();
        panel7 = new JPanel();
        label15 = new JLabel();
        button5 = new JButton();
        button6 = new JButton();
        button7 = new JButton();
        button8 = new JButton();
        panel8 = new JPanel();
        label16 = new JLabel();
        label17 = new JLabel();
        scrollPane1 = new JScrollPane();
        table2 = new JTable();
        button30 = new JButton();
        button38 = new JButton();
        textField5 = new JTextField();
        panel9 = new JPanel();
        label18 = new JLabel();
        label20 = new JLabel();
        label25 = new JLabel();
        button31 = new JButton();
        button37 = new JButton();
        textField6 = new JTextField();
        panel10 = new JPanel();
        label19 = new JLabel();
        label21 = new JLabel();
        label24 = new JLabel();
        passwordField7 = new JPasswordField();
        button32 = new JButton();
        button36 = new JButton();
        textField8 = new JTextField();
        label29 = new JLabel();
        panel11 = new JPanel();
        label22 = new JLabel();
        label23 = new JLabel();
        label26 = new JLabel();
        button33 = new JButton();
        button35 = new JButton();
        comboBox1 = new JComboBox<>();
        label28 = new JLabel();
        textField7 = new JTextField();
        panel12 = new JPanel();
        label30 = new JLabel();
        button42 = new JButton();
        newu7 = new JLabel();
        l2 = new JLabel();
        newu8 = new JLabel();
        newu9 = new JLabel();
        newu10 = new JLabel();
        c4 = new JComboBox<>();
        newu11 = new JLabel();
        scrollPane2 = new JScrollPane();
        a = new JTextArea();
        text2 = new JTextField();
        text4 = new JTextField();
        text3 = new JTextField();
        but4 = new JButton();
        c3 = new JComboBox<>();
        but3 = new JButton();
        newu12 = new JLabel();
        newu13 = new JLabel();
        but2 = new JButton();
        but1 = new JButton();
        text1 = new JTextField();
        newu14 = new JLabel();
        text5 = new JTextField();
        panel13 = new JPanel();
        label31 = new JLabel();
        button43 = new JButton();
        textArea1 = new JTextArea();
        n1 = new JTextField();
        newu = new JLabel();
        n2 = new JTextField();
        n3 = new JTextField();
        newu2 = new JLabel();
        newu3 = new JLabel();
        b1 = new JButton();
        c1 = new JComboBox();
        b2 = new JButton();
        c2 = new JComboBox();
        b3 = new JButton();
        l1 = new JLabel();
        newu4 = new JLabel();
        newu5 = new JLabel();
        newu6 = new JLabel();
        n4 = new JTextField();
        n5 = new JTextField();

        //======== this ========
        setVisible(true);
        setBackground(Color.white);
        setResizable(false);
        Container contentPane = getContentPane();
        contentPane.setLayout(null);

        //======== panel1 ========
        {
            panel1.setBackground(Color.white);
            panel1.setLayout(new CardLayout());

            //======== panel2 ========
            {
                panel2.setBackground(Color.white);
                panel2.setPreferredSize(new Dimension(600, 440));
                panel2.setMinimumSize(new Dimension(600, 440));
                panel2.setLayout(null);

                //---- label1 ----
                label1.setText("\u6b22\u8fce\u5149\u4e34 \u56fe\u4e66\u6570\u636e\u5e93\u7ba1\u7406\u7cfb\u7edf");
                label1.setBackground(Color.white);
                label1.setFont(new Font("\u6977\u4f53", Font.BOLD | Font.ITALIC, 48));
                label1.setHorizontalAlignment(SwingConstants.CENTER);
                panel2.add(label1);
                label1.setBounds(-15, 25, 820, label1.getPreferredSize().height);

                //---- button1 ----
                button1.setText("\u7528\u6237\u767b\u5f55");
                button1.setBackground(Color.white);
                button1.setFont(new Font("\u6977\u4f53", Font.BOLD, 36));
                button1.setFocusPainted(false);
                button1.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        button1MouseClicked(e);
                    }
                });
                panel2.add(button1);
                button1.setBounds(95, 115, 265, 150);

                //---- button2 ----
                button2.setText("\u6ce8\u518c\u8d26\u53f7");
                button2.setBackground(Color.white);
                button2.setFont(new Font("\u6977\u4f53", Font.BOLD, 36));
                button2.setFocusPainted(false);
                button2.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        button2MouseClicked(e);
                    }
                });
                panel2.add(button2);
                button2.setBounds(435, 115, 265, 150);

                //---- button3 ----
                button3.setText("\u7ba1\u7406\u5458\u767b\u5f55");
                button3.setBackground(Color.white);
                button3.setFont(new Font("\u6977\u4f53", Font.BOLD, 36));
                button3.setFocusPainted(false);
                button3.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        button3MouseClicked(e);
                    }
                });
                panel2.add(button3);
                button3.setBounds(95, 285, 265, 150);

                //---- button4 ----
                button4.setText("\u9000\u51fa");
                button4.setBackground(Color.white);
                button4.setFont(new Font("\u6977\u4f53", Font.BOLD, 36));
                button4.setFocusPainted(false);
                button4.addActionListener(e -> button4(e));
                panel2.add(button4);
                button4.setBounds(435, 285, 265, 150);

                {
                    // compute preferred size
                    Dimension preferredSize = new Dimension();
                    for(int i = 0; i < panel2.getComponentCount(); i++) {
                        Rectangle bounds = panel2.getComponent(i).getBounds();
                        preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                        preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
                    }
                    Insets insets = panel2.getInsets();
                    preferredSize.width += insets.right;
                    preferredSize.height += insets.bottom;
                    panel2.setMinimumSize(preferredSize);
                    panel2.setPreferredSize(preferredSize);
                }
            }
            panel1.add(panel2, "card1");

            //======== panel3 ========
            {
                panel3.setBackground(Color.white);
                panel3.setFont(panel3.getFont().deriveFont(Font.BOLD|Font.ITALIC));
                panel3.setLayout(null);

                //---- label2 ----
                label2.setText("\u7528\u6237\u767b\u5f55");
                label2.setHorizontalAlignment(SwingConstants.CENTER);
                label2.setFont(new Font("\u6977\u4f53", Font.BOLD | Font.ITALIC, 48));
                panel3.add(label2);
                label2.setBounds(320, 65, 235, 52);

                //---- textField1 ----
                textField1.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                textField1.addKeyListener(new KeyAdapter() {
                    @Override
                    public void keyPressed(KeyEvent e) {
                        textField1KeyPressed(e);
                    }
                });
                panel3.add(textField1);
                textField1.setBounds(300, 160, 290, 45);

                //---- label3 ----
                label3.setText("\u8d26\u53f7\uff1a");
                label3.setFont(new Font("\u6977\u4f53", Font.BOLD, 36));
                panel3.add(label3);
                label3.setBounds(180, 160, 130, label3.getPreferredSize().height);

                //---- label4 ----
                label4.setText("\u5bc6\u7801\uff1a");
                label4.setFont(new Font("\u6977\u4f53", Font.BOLD, 36));
                panel3.add(label4);
                label4.setBounds(new Rectangle(new Point(180, 230), label4.getPreferredSize()));

                //---- passwordField1 ----
                passwordField1.setFont(new Font("\u5fae\u8f6f\u96c5\u9ed1", Font.BOLD, 24));
                passwordField1.addKeyListener(new KeyAdapter() {
                    @Override
                    public void keyPressed(KeyEvent e) {
                        passwordField1KeyPressed(e);
                    }
                });
                panel3.add(passwordField1);
                passwordField1.setBounds(300, 230, 290, 45);

                //---- label8 ----
                label8.setHorizontalAlignment(SwingConstants.CENTER);
                label8.setBackground(Color.white);
                label8.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                label8.setForeground(new Color(0, 108, 229));
                panel3.add(label8);
                label8.setBounds(300, 365, 290, 45);

                //---- button27 ----
                button27.setText("\u767b\u5f55");
                button27.setFocusPainted(false);
                button27.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                button27.setBackground(Color.white);
                button27.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        button27MouseClicked(e);
                    }
                });
                panel3.add(button27);
                button27.setBounds(300, 300, 290, 45);

                //---- button41 ----
                button41.setText("<");
                button41.setFont(new Font("\u6977\u4f53", Font.BOLD, 48));
                button41.setFocusPainted(false);
                button41.setBorder(null);
                button41.setBackground(Color.white);
                button41.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        button41MouseClicked(e);
                    }
                });
                panel3.add(button41);
                button41.setBounds(0, 0, 45, 50);

                {
                    // compute preferred size
                    Dimension preferredSize = new Dimension();
                    for(int i = 0; i < panel3.getComponentCount(); i++) {
                        Rectangle bounds = panel3.getComponent(i).getBounds();
                        preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                        preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
                    }
                    Insets insets = panel3.getInsets();
                    preferredSize.width += insets.right;
                    preferredSize.height += insets.bottom;
                    panel3.setMinimumSize(preferredSize);
                    panel3.setPreferredSize(preferredSize);
                }
            }
            panel1.add(panel3, "card2");

            //======== panel4 ========
            {
                panel4.setBackground(Color.white);
                panel4.setFont(panel4.getFont().deriveFont(Font.BOLD|Font.ITALIC));
                panel4.setLayout(null);

                //---- label5 ----
                label5.setText("\u7ba1\u7406\u5458\u767b\u5f55");
                label5.setHorizontalAlignment(SwingConstants.CENTER);
                label5.setFont(new Font("\u6977\u4f53", Font.BOLD | Font.ITALIC, 48));
                panel4.add(label5);
                label5.setBounds(285, 65, 310, 52);

                //---- textField3 ----
                textField3.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                textField3.addKeyListener(new KeyAdapter() {
                    @Override
                    public void keyPressed(KeyEvent e) {
                        textField3KeyPressed(e);
                    }
                });
                panel4.add(textField3);
                textField3.setBounds(300, 160, 290, 45);

                //---- label6 ----
                label6.setText("\u8d26\u53f7\uff1a");
                label6.setFont(new Font("\u6977\u4f53", Font.BOLD, 36));
                panel4.add(label6);
                label6.setBounds(180, 160, 130, label6.getPreferredSize().height);

                //---- label7 ----
                label7.setText("\u5bc6\u7801\uff1a");
                label7.setFont(new Font("\u6977\u4f53", Font.BOLD, 36));
                panel4.add(label7);
                label7.setBounds(new Rectangle(new Point(180, 230), label7.getPreferredSize()));

                //---- passwordField2 ----
                passwordField2.setFont(new Font("\u5fae\u8f6f\u96c5\u9ed1", Font.BOLD, 24));
                passwordField2.addKeyListener(new KeyAdapter() {
                    @Override
                    public void keyPressed(KeyEvent e) {
                        passwordField2KeyPressed(e);
                    }
                });
                panel4.add(passwordField2);
                passwordField2.setBounds(300, 230, 290, 45);

                //---- label9 ----
                label9.setForeground(new Color(0, 108, 229));
                label9.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                label9.setHorizontalAlignment(SwingConstants.CENTER);
                panel4.add(label9);
                label9.setBounds(300, 360, 290, 45);

                //---- button28 ----
                button28.setText("\u767b\u5f55");
                button28.setFocusPainted(false);
                button28.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                button28.setBackground(Color.white);
                button28.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        button28MouseClicked(e);
                    }
                });
                panel4.add(button28);
                button28.setBounds(300, 300, 290, 45);

                //---- button40 ----
                button40.setText("<");
                button40.setFont(new Font("\u6977\u4f53", Font.BOLD, 48));
                button40.setFocusPainted(false);
                button40.setBorder(null);
                button40.setBackground(Color.white);
                button40.addActionListener(e -> button40(e));
                panel4.add(button40);
                button40.setBounds(0, 0, 45, 50);

                {
                    // compute preferred size
                    Dimension preferredSize = new Dimension();
                    for(int i = 0; i < panel4.getComponentCount(); i++) {
                        Rectangle bounds = panel4.getComponent(i).getBounds();
                        preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                        preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
                    }
                    Insets insets = panel4.getInsets();
                    preferredSize.width += insets.right;
                    preferredSize.height += insets.bottom;
                    panel4.setMinimumSize(preferredSize);
                    panel4.setPreferredSize(preferredSize);
                }
            }
            panel1.add(panel4, "card3");

            //======== panel5 ========
            {
                panel5.setBackground(Color.white);
                panel5.setLayout(null);

                //---- label10 ----
                label10.setText("\u6ce8\u518c\u8d26\u6237");
                label10.setHorizontalAlignment(SwingConstants.CENTER);
                label10.setFont(new Font("\u6977\u4f53", Font.BOLD | Font.ITALIC, 48));
                panel5.add(label10);
                label10.setBounds(320, 35, 235, 52);

                //---- textField2 ----
                textField2.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                textField2.addKeyListener(new KeyAdapter() {
                    @Override
                    public void keyPressed(KeyEvent e) {
                        textField2KeyPressed(e);
                    }
                });
                panel5.add(textField2);
                textField2.setBounds(300, 130, 290, 45);

                //---- label11 ----
                label11.setText("\u7528\u6237\u540d\uff1a");
                label11.setFont(new Font("\u6977\u4f53", Font.BOLD, 36));
                panel5.add(label11);
                label11.setBounds(135, 130, 175, 42);

                //---- label12 ----
                label12.setText("\u5bc6\u7801\uff1a");
                label12.setFont(new Font("\u6977\u4f53", Font.BOLD, 36));
                panel5.add(label12);
                label12.setBounds(170, 270, 123, 42);

                //---- passwordField3 ----
                passwordField3.setFont(new Font("\u5fae\u8f6f\u96c5\u9ed1", Font.BOLD, 24));
                passwordField3.addKeyListener(new KeyAdapter() {
                    @Override
                    public void keyPressed(KeyEvent e) {
                        passwordField3KeyPressed(e);
                    }
                });
                panel5.add(passwordField3);
                passwordField3.setBounds(300, 270, 290, 45);

                //---- label13 ----
                label13.setText("*\u90ae\u7bb1\uff1a");
                label13.setFont(new Font("\u6977\u4f53", Font.BOLD, 36));
                panel5.add(label13);
                label13.setBounds(155, 200, 138, 42);

                //---- button29 ----
                button29.setText("\u6ce8\u518c");
                button29.setFocusPainted(false);
                button29.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                button29.setBackground(Color.white);
                button29.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        button29MouseClicked(e);
                    }
                });
                panel5.add(button29);
                button29.setBounds(300, 340, 290, 45);

                //---- button39 ----
                button39.setText("<");
                button39.setFont(new Font("\u6977\u4f53", Font.BOLD, 48));
                button39.setFocusPainted(false);
                button39.setBorder(null);
                button39.setBackground(Color.white);
                button39.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        button39MouseClicked(e);
                    }
                });
                panel5.add(button39);
                button39.setBounds(0, 0, 45, 50);

                //---- textField4 ----
                textField4.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                textField4.addKeyListener(new KeyAdapter() {
                    @Override
                    public void keyPressed(KeyEvent e) {
                        textField4KeyPressed(e);
                    }
                });
                panel5.add(textField4);
                textField4.setBounds(300, 200, 290, 45);

                //---- label27 ----
                label27.setHorizontalAlignment(SwingConstants.CENTER);
                label27.setBackground(Color.white);
                label27.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                label27.setForeground(new Color(0, 108, 229));
                panel5.add(label27);
                label27.setBounds(300, 405, 295, 45);

                {
                    // compute preferred size
                    Dimension preferredSize = new Dimension();
                    for(int i = 0; i < panel5.getComponentCount(); i++) {
                        Rectangle bounds = panel5.getComponent(i).getBounds();
                        preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                        preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
                    }
                    Insets insets = panel5.getInsets();
                    preferredSize.width += insets.right;
                    preferredSize.height += insets.bottom;
                    panel5.setMinimumSize(preferredSize);
                    panel5.setPreferredSize(preferredSize);
                }
            }
            panel1.add(panel5, "card4");

            //======== panel6 ========
            {
                panel6.setBackground(Color.white);
                panel6.setLayout(null);

                //---- label14 ----
                label14.setText("\u56fe\u4e00\u4efd\u795e\u95f2\u6c14\u9759 \u4e66\u51e0\u7b14\u60a6\u76ee\u8d4f\u5fc3");
                label14.setBackground(Color.white);
                label14.setFont(new Font("\u6977\u4f53", Font.BOLD | Font.ITALIC, 48));
                label14.setHorizontalAlignment(SwingConstants.CENTER);
                panel6.add(label14);
                label14.setBounds(0, 35, 820, 56);

                //---- button9 ----
                button9.setText("\u9986\u85cf\u67e5\u8be2");
                button9.setBackground(Color.white);
                button9.setFont(new Font("\u6977\u4f53", Font.BOLD, 36));
                button9.setFocusPainted(false);
                button9.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        button9MouseClicked(e);
                    }
                });
                panel6.add(button9);
                button9.setBounds(100, 115, 265, 150);

                //---- button10 ----
                button10.setText("\u501f\u9605\u767b\u8bb0");
                button10.setBackground(Color.white);
                button10.setFont(new Font("\u6977\u4f53", Font.BOLD, 36));
                button10.setFocusPainted(false);
                button10.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        button10MouseClicked(e);
                    }
                });
                panel6.add(button10);
                button10.setBounds(440, 115, 265, 150);

                //---- button11 ----
                button11.setText("\u5f52\u8fd8\u56fe\u4e66");
                button11.setBackground(Color.white);
                button11.setFont(new Font("\u6977\u4f53", Font.BOLD, 36));
                button11.setFocusPainted(false);
                button11.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        button11MouseClicked(e);
                    }
                });
                panel6.add(button11);
                button11.setBounds(100, 285, 265, 150);

                //---- button12 ----
                button12.setText("\u9000\u51fa\u767b\u5f55");
                button12.setBackground(Color.white);
                button12.setFont(new Font("\u6977\u4f53", Font.BOLD, 36));
                button12.setFocusPainted(false);
                button12.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        button12MouseClicked(e);
                    }
                });
                panel6.add(button12);
                button12.setBounds(440, 285, 265, 150);

                {
                    // compute preferred size
                    Dimension preferredSize = new Dimension();
                    for(int i = 0; i < panel6.getComponentCount(); i++) {
                        Rectangle bounds = panel6.getComponent(i).getBounds();
                        preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                        preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
                    }
                    Insets insets = panel6.getInsets();
                    preferredSize.width += insets.right;
                    preferredSize.height += insets.bottom;
                    panel6.setMinimumSize(preferredSize);
                    panel6.setPreferredSize(preferredSize);
                }
            }
            panel1.add(panel6, "card5");

            //======== panel7 ========
            {
                panel7.setBackground(Color.white);
                panel7.setLayout(null);

                //---- label15 ----
                label15.setText("\u4f10\u77dc\u597d\u4e13 \u4e3e\u4e8b\u4e4b\u7978\u4e5f");
                label15.setBackground(Color.white);
                label15.setFont(new Font("\u6977\u4f53", Font.BOLD | Font.ITALIC, 48));
                label15.setHorizontalAlignment(SwingConstants.CENTER);
                panel7.add(label15);
                label15.setBounds(0, 30, 820, 56);

                //---- button5 ----
                button5.setText("\u7528\u6237\u7ba1\u7406");
                button5.setBackground(Color.white);
                button5.setFont(new Font("\u6977\u4f53", Font.BOLD, 36));
                button5.setFocusPainted(false);
                button5.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        button5MouseClicked(e);
                    }
                });
                panel7.add(button5);
                button5.setBounds(95, 105, 265, 150);

                //---- button6 ----
                button6.setText("\u56fe\u4e66\u7ba1\u7406");
                button6.setBackground(Color.white);
                button6.setFont(new Font("\u6977\u4f53", Font.BOLD, 36));
                button6.setFocusPainted(false);
                button6.addKeyListener(new KeyAdapter() {
                    @Override
                    public void keyPressed(KeyEvent e) {
                        button6KeyPressed(e);
                    }
                });
                button6.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        button6MouseClicked(e);
                    }
                });
                panel7.add(button6);
                button6.setBounds(435, 105, 265, 150);

                //---- button7 ----
                button7.setText("\u4fee\u6539\u5bc6\u7801");
                button7.setBackground(Color.white);
                button7.setFont(new Font("\u6977\u4f53", Font.BOLD, 36));
                button7.setFocusPainted(false);
                button7.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        button7MouseClicked(e);
                    }
                });
                panel7.add(button7);
                button7.setBounds(95, 275, 265, 150);

                //---- button8 ----
                button8.setText("\u9000\u51fa\u767b\u5f55");
                button8.setBackground(Color.white);
                button8.setFont(new Font("\u6977\u4f53", Font.BOLD, 36));
                button8.setFocusPainted(false);
                button8.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        button8MouseClicked(e);
                    }
                });
                panel7.add(button8);
                button8.setBounds(435, 275, 265, 150);

                {
                    // compute preferred size
                    Dimension preferredSize = new Dimension();
                    for(int i = 0; i < panel7.getComponentCount(); i++) {
                        Rectangle bounds = panel7.getComponent(i).getBounds();
                        preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                        preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
                    }
                    Insets insets = panel7.getInsets();
                    preferredSize.width += insets.right;
                    preferredSize.height += insets.bottom;
                    panel7.setMinimumSize(preferredSize);
                    panel7.setPreferredSize(preferredSize);
                }
            }
            panel1.add(panel7, "card6");

            //======== panel8 ========
            {
                panel8.setBackground(Color.white);
                panel8.setLayout(null);

                //---- label16 ----
                label16.setText("\u9986\u85cf\u67e5\u8be2");
                label16.setBackground(Color.white);
                label16.setFont(new Font("\u6977\u4f53", Font.BOLD | Font.ITALIC, 48));
                label16.setHorizontalAlignment(SwingConstants.CENTER);
                panel8.add(label16);
                label16.setBounds(0, 15, 820, 56);

                //---- label17 ----
                label17.setText("\u8bf7\u8f93\u5165\u4e66\u540d\uff1a");
                label17.setFont(new Font("\u6977\u4f53", Font.BOLD, 36));
                panel8.add(label17);
                label17.setBounds(50, 80, 230, 42);

                //======== scrollPane1 ========
                {
                    scrollPane1.setBackground(Color.white);
                    scrollPane1.setFont(new Font("\u6977\u4f53", Font.BOLD, 12));

                    //---- table2 ----
                    table2.setModel(new DefaultTableModel(
                        new Object[][] {
                            {null, null, "", null, "", null},
                            {null, null, null, null, null, null},
                            {null, null, null, null, null, null},
                            {null, null, null, null, null, ""},
                            {null, null, null, null, null, null},
                            {null, null, null, null, null, ""},
                            {null, null, null, null, null, null},
                            {null, null, null, null, null, null},
                            {null, null, null, null, null, null},
                            {null, null, null, null, null, null},
                            {null, null, null, null, null, null},
                            {null, null, null, null, null, null},
                            {null, null, null, null, null, null},
                            {null, null, null, null, null, null},
                            {null, null, null, null, null, null},
                            {null, null, null, null, null, null},
                            {null, null, null, null, null, null},
                            {null, null, null, null, null, null},
                        },
                        new String[] {
                            "id", "\u4e66\u540d", "\u4f5c\u8005", "isbn\u53f7", "\u72b6\u6001", "\u4f4d\u7f6e"
                        }
                    ) {
                        boolean[] columnEditable = new boolean[] {
                            false, true, true, true, true, true
                        };
                        @Override
                        public boolean isCellEditable(int rowIndex, int columnIndex) {
                            return columnEditable[columnIndex];
                        }
                    });
                    {
                        TableColumnModel cm = table2.getColumnModel();
                        cm.getColumn(0).setResizable(false);
                        cm.getColumn(0).setPreferredWidth(5);
                        cm.getColumn(1).setPreferredWidth(185);
                        cm.getColumn(2).setPreferredWidth(190);
                        cm.getColumn(3).setPreferredWidth(85);
                        cm.getColumn(4).setPreferredWidth(8);
                        cm.getColumn(5).setResizable(false);
                        cm.getColumn(5).setPreferredWidth(33);
                    }
                    table2.setFont(new Font("\u6977\u4f53", Font.BOLD, 18));
                    table2.setShowHorizontalLines(false);
                    table2.setShowVerticalLines(false);
                    table2.setGridColor(Color.white);
                    table2.setBorder(null);
                    scrollPane1.setViewportView(table2);
                }
                panel8.add(scrollPane1);
                scrollPane1.setBounds(5, 130, 810, 320);

                //---- button30 ----
                button30.setText("\u67e5\u8be2");
                button30.setFocusPainted(false);
                button30.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                button30.setBackground(Color.white);
                button30.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        button30MouseClicked(e);
                    }
                });
                panel8.add(button30);
                button30.setBounds(605, 75, 150, 45);

                //---- button38 ----
                button38.setText("<");
                button38.setFont(new Font("\u6977\u4f53", Font.BOLD, 48));
                button38.setFocusPainted(false);
                button38.setBorder(null);
                button38.setBackground(Color.white);
                button38.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        button38MouseClicked(e);
                    }
                });
                panel8.add(button38);
                button38.setBounds(0, 0, 45, 50);

                //---- textField5 ----
                textField5.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                panel8.add(textField5);
                textField5.setBounds(270, 80, 300, 40);

                {
                    // compute preferred size
                    Dimension preferredSize = new Dimension();
                    for(int i = 0; i < panel8.getComponentCount(); i++) {
                        Rectangle bounds = panel8.getComponent(i).getBounds();
                        preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                        preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
                    }
                    Insets insets = panel8.getInsets();
                    preferredSize.width += insets.right;
                    preferredSize.height += insets.bottom;
                    panel8.setMinimumSize(preferredSize);
                    panel8.setPreferredSize(preferredSize);
                }
            }
            panel1.add(panel8, "card7");

            //======== panel9 ========
            {
                panel9.setBackground(Color.white);
                panel9.setLayout(null);

                //---- label18 ----
                label18.setText("\u501f\u9605\u767b\u8bb0");
                label18.setBackground(Color.white);
                label18.setFont(new Font("\u6977\u4f53", Font.BOLD | Font.ITALIC, 48));
                label18.setHorizontalAlignment(SwingConstants.CENTER);
                panel9.add(label18);
                label18.setBounds(0, 55, 820, 56);

                //---- label20 ----
                label20.setText("\u8bf7\u8f93\u5165\u56fe\u4e66ID");
                label20.setFont(new Font("\u6977\u4f53", Font.BOLD, 36));
                panel9.add(label20);
                label20.setBounds(305, 145, 275, 42);

                //---- label25 ----
                label25.setHorizontalAlignment(SwingConstants.CENTER);
                label25.setBackground(Color.white);
                label25.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                label25.setForeground(new Color(0, 108, 229));
                panel9.add(label25);
                label25.setBounds(275, 345, 290, 45);

                //---- button31 ----
                button31.setText("\u63d0\u4ea4");
                button31.setFocusPainted(false);
                button31.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                button31.setBackground(Color.white);
                button31.addKeyListener(new KeyAdapter() {
                    @Override
                    public void keyPressed(KeyEvent e) {
                        button31KeyPressed(e);
                    }
                });
                button31.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        button31MouseClicked(e);
                    }
                });
                panel9.add(button31);
                button31.setBounds(275, 280, 290, 45);

                //---- button37 ----
                button37.setText("<");
                button37.setFont(new Font("\u6977\u4f53", Font.BOLD, 48));
                button37.setFocusPainted(false);
                button37.setBorder(null);
                button37.setBackground(Color.white);
                button37.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        button37MouseClicked(e);
                    }
                });
                panel9.add(button37);
                button37.setBounds(0, 0, 45, 50);

                //---- textField6 ----
                textField6.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                textField6.setHorizontalAlignment(SwingConstants.CENTER);
                textField6.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        textField6MouseClicked(e);
                    }
                });
                panel9.add(textField6);
                textField6.setBounds(275, 210, 290, 40);

                {
                    // compute preferred size
                    Dimension preferredSize = new Dimension();
                    for(int i = 0; i < panel9.getComponentCount(); i++) {
                        Rectangle bounds = panel9.getComponent(i).getBounds();
                        preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                        preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
                    }
                    Insets insets = panel9.getInsets();
                    preferredSize.width += insets.right;
                    preferredSize.height += insets.bottom;
                    panel9.setMinimumSize(preferredSize);
                    panel9.setPreferredSize(preferredSize);
                }
            }
            panel1.add(panel9, "card8");

            //======== panel10 ========
            {
                panel10.setBackground(Color.white);
                panel10.setLayout(null);

                //---- label19 ----
                label19.setText("\u4fee\u6539\u5bc6\u7801");
                label19.setBackground(Color.white);
                label19.setFont(new Font("\u6977\u4f53", Font.BOLD | Font.ITALIC, 48));
                label19.setHorizontalAlignment(SwingConstants.CENTER);
                panel10.add(label19);
                label19.setBounds(0, 60, 820, 56);

                //---- label21 ----
                label21.setText("\u539f\u5bc6\u7801\uff1a");
                label21.setFont(new Font("\u6977\u4f53", Font.BOLD, 36));
                panel10.add(label21);
                label21.setBounds(150, 160, 155, 42);

                //---- label24 ----
                label24.setText("\u65b0\u5bc6\u7801\uff1a");
                label24.setFont(new Font("\u6977\u4f53", Font.BOLD, 36));
                panel10.add(label24);
                label24.setBounds(150, 230, 153, 42);

                //---- passwordField7 ----
                passwordField7.setFont(new Font("\u5fae\u8f6f\u96c5\u9ed1", Font.BOLD, 24));
                panel10.add(passwordField7);
                passwordField7.setBounds(310, 230, 290, 45);

                //---- button32 ----
                button32.setText("\u4fee\u6539");
                button32.setFocusPainted(false);
                button32.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                button32.setBackground(Color.white);
                button32.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        button32MouseClicked(e);
                    }
                });
                panel10.add(button32);
                button32.setBounds(310, 300, 290, 45);

                //---- button36 ----
                button36.setText("<");
                button36.setFont(new Font("\u6977\u4f53", Font.BOLD, 48));
                button36.setFocusPainted(false);
                button36.setBorder(null);
                button36.setBackground(Color.white);
                button36.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        button36MouseClicked(e);
                    }
                });
                panel10.add(button36);
                button36.setBounds(0, 0, 45, 50);

                //---- textField8 ----
                textField8.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                textField8.addKeyListener(new KeyAdapter() {
                    @Override
                    public void keyPressed(KeyEvent e) {
                        textField8KeyPressed(e);
                    }
                });
                panel10.add(textField8);
                textField8.setBounds(310, 155, 290, 45);

                //---- label29 ----
                label29.setHorizontalAlignment(SwingConstants.CENTER);
                label29.setBackground(Color.white);
                label29.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                label29.setForeground(new Color(0, 108, 229));
                panel10.add(label29);
                label29.setBounds(310, 365, 290, 45);

                {
                    // compute preferred size
                    Dimension preferredSize = new Dimension();
                    for(int i = 0; i < panel10.getComponentCount(); i++) {
                        Rectangle bounds = panel10.getComponent(i).getBounds();
                        preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                        preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
                    }
                    Insets insets = panel10.getInsets();
                    preferredSize.width += insets.right;
                    preferredSize.height += insets.bottom;
                    panel10.setMinimumSize(preferredSize);
                    panel10.setPreferredSize(preferredSize);
                }
            }
            panel1.add(panel10, "card9");

            //======== panel11 ========
            {
                panel11.setBackground(Color.white);
                panel11.setLayout(null);

                //---- label22 ----
                label22.setText("\u5f52\u8fd8\u56fe\u4e66");
                label22.setBackground(Color.white);
                label22.setFont(new Font("\u6977\u4f53", Font.BOLD | Font.ITALIC, 48));
                label22.setHorizontalAlignment(SwingConstants.CENTER);
                panel11.add(label22);
                label22.setBounds(-5, 50, 820, 56);

                //---- label23 ----
                label23.setText("\u8bf7\u8f93\u5165\u56fe\u4e66ID");
                label23.setFont(new Font("\u6977\u4f53", Font.BOLD, 36));
                panel11.add(label23);
                label23.setBounds(300, 140, 275, 42);

                //---- label26 ----
                label26.setHorizontalAlignment(SwingConstants.CENTER);
                label26.setBackground(Color.white);
                label26.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                label26.setForeground(new Color(0, 108, 229));
                panel11.add(label26);
                label26.setBounds(270, 355, 290, 45);

                //---- button33 ----
                button33.setText("\u5f52\u8fd8");
                button33.setFocusPainted(false);
                button33.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                button33.setBackground(Color.white);
                button33.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        button33MouseClicked(e);
                    }
                });
                panel11.add(button33);
                button33.setBounds(270, 305, 290, 45);

                //---- button35 ----
                button35.setText("<");
                button35.setFont(new Font("\u6977\u4f53", Font.BOLD, 48));
                button35.setFocusPainted(false);
                button35.setBorder(null);
                button35.setBackground(Color.white);
                button35.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        button35MouseClicked(e);
                    }
                });
                panel11.add(button35);
                button35.setBounds(0, 0, 45, 50);

                //---- comboBox1 ----
                comboBox1.setModel(new DefaultComboBoxModel<>(new String[] {
                    "\u4e00\u697c\u4e66\u67b6",
                    "\u4e8c\u697c\u4e66\u67b6",
                    "\u4e09\u697c\u4e66\u67b6",
                    "\u56db\u697c\u4e66\u67b6",
                    "\u4e94\u697c\u4e66\u67b6"
                }));
                comboBox1.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                panel11.add(comboBox1);
                comboBox1.setBounds(425, 250, 135, 45);

                //---- label28 ----
                label28.setText("\u8fd8\u4e66\u4f4d\u7f6e\uff1a");
                label28.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                panel11.add(label28);
                label28.setBounds(275, 255, 145, 40);

                //---- textField7 ----
                textField7.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                textField7.setHorizontalAlignment(SwingConstants.CENTER);
                textField7.addKeyListener(new KeyAdapter() {
                    @Override
                    public void keyPressed(KeyEvent e) {
                        textField7KeyPressed(e);
                    }
                });
                panel11.add(textField7);
                textField7.setBounds(270, 195, 290, 45);

                {
                    // compute preferred size
                    Dimension preferredSize = new Dimension();
                    for(int i = 0; i < panel11.getComponentCount(); i++) {
                        Rectangle bounds = panel11.getComponent(i).getBounds();
                        preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                        preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
                    }
                    Insets insets = panel11.getInsets();
                    preferredSize.width += insets.right;
                    preferredSize.height += insets.bottom;
                    panel11.setMinimumSize(preferredSize);
                    panel11.setPreferredSize(preferredSize);
                }
            }
            panel1.add(panel11, "card10");

            //======== panel12 ========
            {
                panel12.setBackground(Color.white);
                panel12.setLayout(null);

                //---- label30 ----
                label30.setText("\u56fe\u4e66\u7ba1\u7406");
                label30.setBackground(Color.white);
                label30.setFont(new Font("\u6977\u4f53", Font.BOLD | Font.ITALIC, 48));
                label30.setHorizontalAlignment(SwingConstants.CENTER);
                panel12.add(label30);
                label30.setBounds(0, 5, 820, 56);

                //---- button42 ----
                button42.setText("<");
                button42.setFont(new Font("\u6977\u4f53", Font.BOLD, 48));
                button42.setFocusPainted(false);
                button42.setBorder(null);
                button42.setBackground(Color.white);
                button42.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        button42MouseClicked(e);
                    }
                });
                panel12.add(button42);
                button42.setBounds(0, 0, 45, 50);

                //---- newu7 ----
                newu7.setText("\u4e66\u540d");
                newu7.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                panel12.add(newu7);
                newu7.setBounds(40, 165, 110, 30);

                //---- l2 ----
                l2.setHorizontalAlignment(SwingConstants.CENTER);
                l2.setBackground(Color.white);
                l2.setFont(new Font("\u6977\u4f53", Font.BOLD, 36));
                l2.setForeground(new Color(0, 108, 229));
                panel12.add(l2);
                l2.setBounds(20, 435, 745, 45);

                //---- newu8 ----
                newu8.setText("\u4f5c\u8005");
                newu8.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                panel12.add(newu8);
                newu8.setBounds(345, 165, 110, 30);

                //---- newu9 ----
                newu9.setText("isbn");
                newu9.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                panel12.add(newu9);
                newu9.setBounds(345, 200, 110, 30);

                //---- newu10 ----
                newu10.setText("\u4f4d\u7f6e");
                newu10.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                panel12.add(newu10);
                newu10.setBounds(40, 205, 110, 30);

                //---- c4 ----
                c4.setFont(new Font("\u6977\u4f53", Font.BOLD, 20));
                c4.setModel(new DefaultComboBoxModel<>(new String[] {
                    "\u4e00\u697c\u4e66\u67b6",
                    "\u4e8c\u697c\u4e66\u67b6",
                    "\u4e09\u697c\u4e66\u67b6",
                    "\u56db\u697c\u4e66\u67b6",
                    "\u4e94\u697c\u4e66\u67b6",
                    "null"
                }));
                c4.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        c4MouseClicked(e);
                    }
                });
                panel12.add(c4);
                c4.setBounds(130, 200, 210, c4.getPreferredSize().height);

                //---- newu11 ----
                newu11.setText("\u7b80\u8ff0");
                newu11.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                panel12.add(newu11);
                newu11.setBounds(40, 245, 110, 30);

                //======== scrollPane2 ========
                {
                    scrollPane2.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);

                    //---- a ----
                    a.setFont(new Font("\u6977\u4f53", Font.BOLD, 20));
                    a.setLineWrap(true);
                    a.addMouseListener(new MouseAdapter() {
                        @Override
                        public void mouseClicked(MouseEvent e) {
                            aMouseClicked(e);
                        }
                    });
                    scrollPane2.setViewportView(a);
                }
                panel12.add(scrollPane2);
                scrollPane2.setBounds(130, 245, 525, 185);

                //---- text2 ----
                text2.setFont(new Font("\u6977\u4f53", Font.BOLD, 20));
                text2.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        text2MouseClicked(e);
                    }
                });
                panel12.add(text2);
                text2.setBounds(130, 160, 210, text2.getPreferredSize().height);

                //---- text4 ----
                text4.setFont(new Font("\u6977\u4f53", Font.BOLD, 20));
                text4.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        text4MouseClicked(e);
                    }
                });
                panel12.add(text4);
                text4.setBounds(435, 200, 220, 34);

                //---- text3 ----
                text3.setFont(new Font("\u6977\u4f53", Font.BOLD, 20));
                text3.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        text3MouseClicked(e);
                    }
                });
                panel12.add(text3);
                text3.setBounds(435, 160, 220, 34);

                //---- but4 ----
                but4.setText("\u6dfb\u52a0\u65b0\u4e66");
                but4.setFont(new Font("\u6977\u4f53", Font.BOLD, 20));
                but4.setBackground(Color.white);
                but4.setFocusPainted(false);
                but4.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        but4MouseClicked(e);
                    }
                });
                panel12.add(but4);
                but4.setBounds(665, 345, 125, 75);

                //---- c3 ----
                c3.setFont(new Font("\u6977\u4f53", Font.BOLD, 20));
                c3.setModel(new DefaultComboBoxModel<>(new String[] {
                    "new"
                }));
                c3.addItemListener(e -> c3ItemStateChanged(e));
                c3.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        c3MouseClicked(e);
                    }
                });
                panel12.add(c3);
                c3.setBounds(130, 120, 210, 34);

                //---- but3 ----
                but3.setText("\u5220\u9664\u6b64\u4e66");
                but3.setFont(new Font("\u6977\u4f53", Font.BOLD, 20));
                but3.setBackground(Color.white);
                but3.setFocusPainted(false);
                but3.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        but3MouseClicked(e);
                    }
                });
                panel12.add(but3);
                but3.setBounds(665, 255, 125, 75);

                //---- newu12 ----
                newu12.setText("ID");
                newu12.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                panel12.add(newu12);
                newu12.setBounds(45, 125, 110, 30);

                //---- newu13 ----
                newu13.setText("\u72b6\u6001");
                newu13.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                panel12.add(newu13);
                newu13.setBounds(345, 125, 110, 30);

                //---- but2 ----
                but2.setText("\u66f4\u65b0\u6b64\u4e66");
                but2.setFont(new Font("\u6977\u4f53", Font.BOLD, 20));
                but2.setBackground(Color.white);
                but2.setFocusPainted(false);
                but2.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        but2MouseClicked(e);
                    }
                });
                panel12.add(but2);
                but2.setBounds(665, 160, 125, 75);

                //---- but1 ----
                but1.setText("\u68c0\u7d22");
                but1.setFont(new Font("\u6977\u4f53", Font.BOLD, 20));
                but1.setBackground(Color.white);
                but1.setFocusPainted(false);
                but1.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        but1MouseClicked(e);
                    }
                });
                panel12.add(but1);
                but1.setBounds(665, 65, 125, 45);

                //---- text1 ----
                text1.setFont(new Font("\u6977\u4f53", Font.BOLD, 22));
                text1.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        text1MouseClicked(e);
                    }
                });
                panel12.add(text1);
                text1.setBounds(130, 65, 525, 44);

                //---- newu14 ----
                newu14.setText("\u4e66\u540d\u67e5\u8be2");
                newu14.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                panel12.add(newu14);
                newu14.setBounds(25, 70, 105, 35);

                //---- text5 ----
                text5.setFont(new Font("\u6977\u4f53", Font.BOLD, 20));
                text5.setEditable(false);
                text5.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        text5MouseClicked(e);
                    }
                });
                panel12.add(text5);
                text5.setBounds(435, 120, 220, 34);

                {
                    // compute preferred size
                    Dimension preferredSize = new Dimension();
                    for(int i = 0; i < panel12.getComponentCount(); i++) {
                        Rectangle bounds = panel12.getComponent(i).getBounds();
                        preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                        preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
                    }
                    Insets insets = panel12.getInsets();
                    preferredSize.width += insets.right;
                    preferredSize.height += insets.bottom;
                    panel12.setMinimumSize(preferredSize);
                    panel12.setPreferredSize(preferredSize);
                }
            }
            panel1.add(panel12, "card11");

            //======== panel13 ========
            {
                panel13.setBackground(Color.white);
                panel13.setLayout(null);

                //---- label31 ----
                label31.setText("\u7528\u6237\u7ba1\u7406");
                label31.setBackground(Color.white);
                label31.setFont(new Font("\u6977\u4f53", Font.BOLD | Font.ITALIC, 48));
                label31.setHorizontalAlignment(SwingConstants.CENTER);
                panel13.add(label31);
                label31.setBounds(0, 15, 820, 56);

                //---- button43 ----
                button43.setText("<");
                button43.setFont(new Font("\u6977\u4f53", Font.BOLD, 48));
                button43.setFocusPainted(false);
                button43.setBorder(null);
                button43.setBackground(Color.white);
                button43.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        button43MouseClicked(e);
                    }
                });
                panel13.add(button43);
                button43.setBounds(0, 0, 45, 50);
                panel13.add(textArea1);
                textArea1.setBounds(new Rectangle(new Point(105, 130), textArea1.getPreferredSize()));

                //---- n1 ----
                n1.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                n1.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        n1MouseClicked(e);
                    }
                });
                panel13.add(n1);
                n1.setBounds(170, 130, 150, 45);

                //---- newu ----
                newu.setText("\u65b0\u589e\u7528\u6237");
                newu.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                panel13.add(newu);
                newu.setBounds(15, 135, 110, 30);

                //---- n2 ----
                n2.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                n2.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        n2MouseClicked(e);
                    }
                });
                panel13.add(n2);
                n2.setBounds(330, 130, 150, 45);

                //---- n3 ----
                n3.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                n3.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        n3MouseClicked(e);
                    }
                });
                panel13.add(n3);
                n3.setBounds(490, 130, 220, 45);

                //---- newu2 ----
                newu2.setText("\u4fee\u6539\u7528\u6237\u4fe1\u606f");
                newu2.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                panel13.add(newu2);
                newu2.setBounds(15, 215, 180, 30);

                //---- newu3 ----
                newu3.setText("\u5220\u9664\u7528\u6237");
                newu3.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                panel13.add(newu3);
                newu3.setBounds(15, 300, 180, 30);

                //---- b1 ----
                b1.setText("\u65b0\u589e");
                b1.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                b1.setBackground(Color.white);
                b1.setFocusable(false);
                b1.setFocusCycleRoot(true);
                b1.setFocusPainted(false);
                b1.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        b1MouseClicked(e);
                    }
                });
                panel13.add(b1);
                b1.setBounds(715, 130, 89, 40);

                //---- c1 ----
                c1.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                c1.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        c1MouseClicked(e);
                    }
                });
                panel13.add(c1);
                c1.setBounds(170, 210, 150, 45);

                //---- b2 ----
                b2.setText("\u4fee\u6539");
                b2.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                b2.setBackground(Color.white);
                b2.setFocusable(false);
                b2.setFocusCycleRoot(true);
                b2.setFocusPainted(false);
                b2.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        b2MouseClicked(e);
                    }
                });
                panel13.add(b2);
                b2.setBounds(715, 215, 89, 40);

                //---- c2 ----
                c2.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                c2.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        c2MouseClicked(e);
                    }
                });
                panel13.add(c2);
                c2.setBounds(170, 290, 540, 45);

                //---- b3 ----
                b3.setText("\u5220\u9664");
                b3.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                b3.setBackground(Color.white);
                b3.setFocusable(false);
                b3.setFocusCycleRoot(true);
                b3.setFocusPainted(false);
                b3.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        b3MouseClicked(e);
                    }
                });
                panel13.add(b3);
                b3.setBounds(715, 290, 89, 40);

                //---- l1 ----
                l1.setHorizontalAlignment(SwingConstants.CENTER);
                l1.setBackground(Color.white);
                l1.setFont(new Font("\u6977\u4f53", Font.BOLD, 36));
                l1.setForeground(new Color(0, 108, 229));
                panel13.add(l1);
                l1.setBounds(25, 365, 790, 45);

                //---- newu4 ----
                newu4.setText("username");
                newu4.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                panel13.add(newu4);
                newu4.setBounds(190, 100, 110, 30);

                //---- newu5 ----
                newu5.setText("password");
                newu5.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                panel13.add(newu5);
                newu5.setBounds(355, 100, 110, 30);

                //---- newu6 ----
                newu6.setText("email");
                newu6.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                panel13.add(newu6);
                newu6.setBounds(565, 100, 155, 30);

                //---- n4 ----
                n4.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                n4.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        n4MouseClicked(e);
                    }
                });
                panel13.add(n4);
                n4.setBounds(330, 210, 150, 45);

                //---- n5 ----
                n5.setFont(new Font("\u6977\u4f53", Font.BOLD, 24));
                n5.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        n5MouseClicked(e);
                    }
                });
                panel13.add(n5);
                n5.setBounds(490, 210, 220, 45);

                {
                    // compute preferred size
                    Dimension preferredSize = new Dimension();
                    for(int i = 0; i < panel13.getComponentCount(); i++) {
                        Rectangle bounds = panel13.getComponent(i).getBounds();
                        preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                        preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
                    }
                    Insets insets = panel13.getInsets();
                    preferredSize.width += insets.right;
                    preferredSize.height += insets.bottom;
                    panel13.setMinimumSize(preferredSize);
                    panel13.setPreferredSize(preferredSize);
                }
            }
            panel1.add(panel13, "card12");
        }
        contentPane.add(panel1);
        panel1.setBounds(0, 0, 820, 500);

        {
            // compute preferred size
            Dimension preferredSize = new Dimension();
            for(int i = 0; i < contentPane.getComponentCount(); i++) {
                Rectangle bounds = contentPane.getComponent(i).getBounds();
                preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
            }
            Insets insets = contentPane.getInsets();
            preferredSize.width += insets.right;
            preferredSize.height += insets.bottom;
            contentPane.setMinimumSize(preferredSize);
            contentPane.setPreferredSize(preferredSize);
        }
        pack();
        setLocationRelativeTo(getOwner());
        // JFormDesigner - End of component initialization  //GEN-END:initComponents
    }

    // JFormDesigner - Variables declaration - DO NOT MODIFY  //GEN-BEGIN:variables
    private JPanel panel1;
    private JPanel panel2;
    private JLabel label1;
    private JButton button1;
    private JButton button2;
    private JButton button3;
    private JButton button4;
    private JPanel panel3;
    private JLabel label2;
    private JTextField textField1;
    private JLabel label3;
    private JLabel label4;
    private JPasswordField passwordField1;
    private JLabel label8;
    private JButton button27;
    private JButton button41;
    private JPanel panel4;
    private JLabel label5;
    private JTextField textField3;
    private JLabel label6;
    private JLabel label7;
    private JPasswordField passwordField2;
    private JLabel label9;
    private JButton button28;
    private JButton button40;
    private JPanel panel5;
    private JLabel label10;
    private JTextField textField2;
    private JLabel label11;
    private JLabel label12;
    private JPasswordField passwordField3;
    private JLabel label13;
    private JButton button29;
    private JButton button39;
    private JTextField textField4;
    private JLabel label27;
    private JPanel panel6;
    private JLabel label14;
    private JButton button9;
    private JButton button10;
    private JButton button11;
    private JButton button12;
    private JPanel panel7;
    private JLabel label15;
    private JButton button5;
    private JButton button6;
    private JButton button7;
    private JButton button8;
    private JPanel panel8;
    private JLabel label16;
    private JLabel label17;
    private JScrollPane scrollPane1;
    private JTable table2;
    private JButton button30;
    private JButton button38;
    private JTextField textField5;
    private JPanel panel9;
    private JLabel label18;
    private JLabel label20;
    private JLabel label25;
    private JButton button31;
    private JButton button37;
    private JTextField textField6;
    private JPanel panel10;
    private JLabel label19;
    private JLabel label21;
    private JLabel label24;
    private JPasswordField passwordField7;
    private JButton button32;
    private JButton button36;
    private JTextField textField8;
    private JLabel label29;
    private JPanel panel11;
    private JLabel label22;
    private JLabel label23;
    private JLabel label26;
    private JButton button33;
    private JButton button35;
    private JComboBox<String> comboBox1;
    private JLabel label28;
    private JTextField textField7;
    private JPanel panel12;
    private JLabel label30;
    private JButton button42;
    private JLabel newu7;
    private JLabel l2;
    private JLabel newu8;
    private JLabel newu9;
    private JLabel newu10;
    private JComboBox<String> c4;
    private JLabel newu11;
    private JScrollPane scrollPane2;
    private JTextArea a;
    private JTextField text2;
    private JTextField text4;
    private JTextField text3;
    private JButton but4;
    private JComboBox<String> c3;
    private JButton but3;
    private JLabel newu12;
    private JLabel newu13;
    private JButton but2;
    private JButton but1;
    private JTextField text1;
    private JLabel newu14;
    private JTextField text5;
    private JPanel panel13;
    private JLabel label31;
    private JButton button43;
    private JTextArea textArea1;
    private JTextField n1;
    private JLabel newu;
    private JTextField n2;
    private JTextField n3;
    private JLabel newu2;
    private JLabel newu3;
    private JButton b1;
    private JComboBox c1;
    private JButton b2;
    private JComboBox c2;
    private JButton b3;
    private JLabel l1;
    private JLabel newu4;
    private JLabel newu5;
    private JLabel newu6;
    private JTextField n4;
    private JTextField n5;
    // JFormDesigner - End of variables declaration  //GEN-END:variables
}
